There exist many techniques for controlling digital packet information flows. Some such techniques involve providing a certain quality of service for different types of traffic. There are a number of general requirements associated with ensuring quality of service levels. Where quality differentiation is provided for more than one data stream, it is preferable to ensure that different quality requirements for the various data streams of packets are individually and collectively met within the constraint of the finite quality available. In order to provide differential levels of loss and delay as well as throughput, the quantity of input data and its temporal pattern should be constrained. The quantity of input data serviced, i.e. the throughput of data, is known as long term management. Controlling the temporal pattern of data is known as short term management. The traffic in particular data streams also should be protected from the consequential effects of burstiness in other data streams. For example, individual data streams of traffic should be protected from the effects of protocols such as Transmission Control Protocol (TCP), which is designed to use as much bandwidth as possible without regard to other data streams, and from malicious intentions or errors in the end devices of a network. It is also preferable to manage the interleaving of individual data streams within the constraints of the available resources.
The management of quality of service is particularly difficult at the periphery or edge of the network, as the devices are not under the control of the central administrator of the network. The behaviour of these devices, therefore, cannot be assumed or predicted. The ever-increasing diversity in applications, traffic, and convergence also complicates the management of quality of service. Different traffic has different quality of service requirements, and the consequences of delay and/or loss differs for different traffic according to the interpretation associated with an application.
The possibility of replicating network devices to enable traffic with different quality requirements to be physically separated and processed separately is impractical, as the implementation of network devices is expensive. For this reason, it is desirable to manage quality of service of different traffic using a single network device.
There is currently a trend towards forming traffic patterns as constant bit rate patterns, with the aim of increasing predictability. This is deterministic control which focuses on improving the loss characteristics and efficiency of the network. However, such techniques have the disadvantage that quality assurance in the presence of “over-booking” often requires total global knowledge of the behavior of the sources in the network such as on/off times, relative phase, and the effects of past history on the state of the network.
The arrival of the data streams of packets from different sources, therefore, is inherently difficult to control due to, for example, the on/off times and the relative phase. Under certain conditions, such properties manifest themselves by delivering extremely unfair service to some or all of the data streams. Co-pending U.S. patent application Ser. No. 10/406,143 (U4EA-0002) entitled “DATA FLOW CONTROL” discloses a technique in which the competition for resources may become a more predictable process by introducing gaps between packets which decohere the data streams. In assigning variable gaps between packets and data streams to address this issue, care should be taken to ensure that sizes of re-occurring patents of packets cause mutual interference between the data streams.
Accordingly, what is needed in the art is an improved technique for controlling information flow in a data transmission system, which enables the control of the quality of service requirements for different types of traffic to be improved.